// 日志中间件（已禁用）
const fs = require('fs')
const path = require('path')

// 禁用日志功能 - 注释掉所有实际的日志实现
// const logDir = path.join(__dirname, '../logs')
// if (!fs.existsSync(logDir)) {
//   fs.mkdirSync(logDir, { recursive: true })
// }
// 
// // 创建日志写入流
// const logStream = fs.createWriteStream(path.join(logDir, 'app.log'), { flags: 'a' })

/**
 * 格式化时间（已禁用）
 * @returns {string} 格式化后的时间字符串
 */
function formatTime() {
  // 禁用日志功能
  return '';
}

/**
 * 记录日志（已禁用）
 * @param {string} level - 日志级别
 * @param {string} message - 日志消息
 * @param {Object} meta - 元数据
 */
function log(level, message, meta = {}) {
  // 禁用日志功能 - 不执行任何操作
  // const timestamp = formatTime()
  // const logEntry = {
  //   timestamp,
  //   level,
  //   message,
  //   meta
  // }
  // 
  // // 控制台输出
  // console.log(`[${timestamp}] ${level.toUpperCase()}: ${message}`)
  // 
  // // 写入文件
  // logStream.write(JSON.stringify(logEntry) + '\n')
}

/**
 * 请求日志中间件（已禁用）
 * @param {Object} req - 请求对象
 * @param {Object} res - 响应对象
 * @param {Function} next - 下一步函数
 */
const requestLogger = (req, res, next) => {
  // 禁用日志功能 - 直接调用next()
  // const startTime = Date.now()
  // 
  // // 监听响应完成事件
  // res.on('finish', () => {
  //   const duration = Date.now() - startTime
  //   const logData = {
  //     method: req.method,
  //     url: req.url,
  //     statusCode: res.statusCode,
  //     duration: `${duration}ms`,
  //     userAgent: req.get('User-Agent'),
  //     ip: req.ip || req.connection.remoteAddress
  //   }
  //   
  //   log('info', `${req.method} ${req.url} ${res.statusCode}`, logData)
  // })
  
  // 直接调用next()，不记录任何日志
  next()
}

module.exports = {
  requestLogger,
  log
}